home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / business / autorexx.lha / PlugIns / GetClient.rexx < prev    next >
OS/2 REXX Batch file  |  1996-12-28  |  2KB  |  85 lines

  1. /*
  2.     GetClient.rexx - DB PlugIn : Sets DB to start of Client entries
  3.     (c) 1996 Karl Mottram - Bifrost Industries
  4.     Started 2230 hrs - 03-12-96
  5.     Last Updated $VER: v1.3_(23-12-96) - Prompter added...
  6. */
  7.  
  8. Init:
  9.     CLS = "{0;0H"                /* Clearscreen command */
  10.     Signal on BREAK_C                /* Break trapping      */
  11.     SpyFile = "LOGS:Bioware.log"        /* For Expansion       */
  12.     CFile = "DB:Files/JobBase.db"        /* Target DB file      */
  13.     CallDB = "DB:DB"                /* Shell call          */
  14.     BasePort = "TFJOB"                /* What port to link to*/
  15.  
  16.     Parse Arg CDat Flag
  17.         Flag = strip(Flag)
  18.  
  19. CheckDB:
  20.     If Index(Show('P'),BasePort) = 0 then do
  21.         Address Command "c:RunBack" CallDB CFile
  22.     end
  23.  
  24. SetPort:
  25.     Address(BasePort||'.1')
  26.  
  27.     If Flag = "-d" then Debug = 1        /* Set debug mode on   */
  28.     If Flag = '-p' then Signal Prompt    /* Get CDat via WB     */
  29.     If Flag = '-c' then Signal GetByName    /* Client Number search bypass */
  30.  
  31. CheckData:                        /* Check if client number */
  32.     If Datatype(CDat,W) = 1 then signal GetByNum
  33.  
  34. GetByName:
  35. Open(CList,CFile,R)
  36.     CDat = upper(CDat)
  37.         If Debug = 1 then Say CDat
  38.     Count = 0
  39.     Feilds = Readln(CList)
  40.     Do until EOF(CList)
  41.         RLine = upper(Readln(CList))
  42.             If index(RLine,'@RFF=') > 0 then Iterate
  43.         Count = Count + 1
  44.         If index(RLine,CDat) > 0 then do
  45.             If Debug = 1 then Say Count ":::" RLine
  46.             SCREENTOFRONT ; WINDOWTOFRONT ; ACTIVATEWINDOW
  47.             CURRENTRECORD Count
  48.             Signal Exzit
  49.         end
  50.     end
  51.     Signal NoSuch
  52.  
  53. GetByNum:
  54. Open(CList,CFile,R)
  55.     Count = 0
  56.     Feilds = Readln(CList)
  57.     Do until EOF(CList)
  58.         RLine = Readln(CList)
  59.             If index(RLine,'@RFF=') > 0 then Iterate
  60.         Count = Count + 1
  61.         If Left(RLine,2) = CDat then do
  62.             If Debug = 1 then Say Count ":::" RLine
  63.             SCREENTOFRONT ; WINDOWTOFRONT ; ACTIVATEWINDOW
  64.             CURRENTRECORD Count
  65.             Signal Exzit
  66.         end
  67.     end
  68.  
  69. NoSuch:
  70.     SCREENTOFRONT
  71.     Okay1 "This number is not currently assigned to any clients."
  72.  
  73. BREAK_C:
  74. Exzit:
  75. Close(CList)
  76.     Exit
  77.  
  78. Prompt:
  79.     Call Open(Prompter,"CON:100/100/500/20/Enter Search String...")
  80.         PLine = Readln(Prompter)
  81.             If PLine = '' then Signal Exzit
  82.             Parse Var PLine CDat Flag
  83.                 Flag = strip(Flag)
  84.     Signal CheckDB
  85.